\section{Contributions}

The HiPerCopS IDE contains all of the features necessary for the design and simulation of medium-grain reconfigurable hardware systems. Its notable contributions to the research field include:

\begin{itemize}

\item {\bf Ease of Use.} The IDE abstracts unnecessary information away from the user, allowing them to focus on system-level issues instead of low-level details.

\item {\bf Graphical design tools.} Although entire system designs can be performed using a simple text editor, users have the option to create and view their designs as graphs. This visual representation facilitates a smooth transition from system concept to implementation.

\item {\bf System simulation.} Previously, system simulation meant tracing a mess of bitstrings through a paper-based diagram. With the IDE, users are able to apply a set of inputs to the software representation of a system and instantly have access to the results.

\item {\bf Fault injection.} With the ability to add ``stuck-at" faults to a device, users can get an idea of how their systems might perform in hostile environments.

\item {\bf Realistic performance.} The internal data structures of the IDE mimic the behavior of the physical architecture. This allows users to verify the correctness of their systems, rapidly and accurately with a high degree of confidence.

\item {\bf Libraries.} The HiPerCopS architecture uses a hierarchical approach, and the libraries use data encapsulation to take advantage of this fact. The IDE's libraries promote reuse by storing commonly used structures in a standard location.

\item {\bf Mapping algorithms.} Before the introduction of the HiPerCops IDE, all system designs had to be manually mapped to a given device. Now users can choose from a range of mapping algorithms that will perform this task automatically.

\end{itemize}

\section{Future Work}

Even though the HiPerCopS IDE is a complete software application, the addition of a few more features could greatly increase its value. These opportunities for future work include:

\begin{itemize}

\item {\bf Step-through debugging.} The IDE gives users an unprecedented level of control over their system designs. However, the simulation features do not give much feedback regarding the inner workings of the system under test. It might be helpful if users had the ability to halt execution and inspect the current states of their modules, cells, and elements.

\item {\bf Multi-core support.} Currently, the HiPerCopS IDE systems can be mapped to a single device. To provide greater redundancy and reliability, it might be advantageous to support systems that span multiple devices.

\item {\bf Device programming.} The data structures of the IDE represent systems in a realistic manner, so it should be possible to implement these structures on an actual device. A interface utility could be developed to enable the IDE to program HiPerCopS hardware.

\end{itemize}

\section{Conclusion}

It is expected that the HiPerCopS IDE will be a helpful tool for researchers interested in medium-grain reconfigurable hardware. With its system-level focus and graphical design tool, the IDE will facilite more rapid application development. Hopefully, the growth rate of medium-grain reconfigurable hardware architectures will increase as a result. Since the HiPerCopS IDE was designed to be as flexible as possible, the application has the potential to grow with the technology it targets. By adding new entries to the structure libraries or making small modifications to the source code, the IDE can be used for a wide variety of architectures. Adequate design tools are critical to the success of any computer hardware, and the HiPerCopS IDE represents a step in the right direction.